﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
    {
        static void Main(string[] args)
        {
            Queue queue = new Queue();

            //将对象添加到 Queue 实例的结尾处
            queue.Enqueue("天堂");
            queue.Enqueue("地狱");
            queue.Enqueue("人间");

            //判断 Queue 实例中是否含有 obj 元素
            Console.WriteLine(queue.Contains("天堂"));
            

            //ArrayList arr = new ArrayList() { "魔鬼", "天使", "人类" };

            string[] arr = { "魔鬼", "天使", "人类", "上帝", "堕天使" };

            //不能使用arraylist方式的数组
            //将 array 数组从指定索引处的元素开始复制到 Queue 实例中
            queue.CopyTo(arr, 1);
            Queue queuecopy = new Queue(arr);

            foreach (var m in queuecopy)
            {
                Console.WriteLine(m);
            }

            Console.WriteLine();

            //将 Queue 实例中的元素复制到新数组
            Queue queuecopy1 = new Queue(queue.ToArray());

            foreach (var n in queuecopy1)
            {
                Console.WriteLine(n);
            }
            Console.WriteLine();

            //返回循环访问 Queue 实例的枚举数
            IEnumerator enu = queue.GetEnumerator();

            while (enu.MoveNext())
            {
                Console.WriteLine(enu.Current);
            }

        }
    }
}
